Matlab 应用之绘制三维图形(综合篇)

上帖子介绍了Matlab三维绘图的基础内容(见 http://www.jishulink.com/content/post/280288),

并留下一个思考题,本文就通过对这个思考题的讲解,将三维绘图的命令融汇贯通。

Step 1.数据分析

在做任何Matlab图形,或者说使用任何Matlab函数的时候,数据分析是最重要的步骤。因为:

1. 通过数据分析指导数据结构,才能正确使用函数;

2. 通过数据分析,可以对数据有一个感性的认识,这在很多问题上是至关重要的,也是经验的体现;

好了,我们先看看思考题的数据,如图 1所示。

分析:

1. 数据由一个44行,3列的矩阵组成;

2. 要求绘制的是图像为,x坐标为第一列数据,y坐标为第二列数据,z坐标为第三列数据;

3. 第一列数据总体是递增的,应该说是一个阶梯状的数据;

4. 在每个x轴阶梯上,y轴的数据都是重复[5 10 15 20 25 30]的;

6. 按照y轴数据重复了8个周期;

7. y轴的前6个周期都是6组数据[5 10 15 20 25 30];

8. y轴的后两个周期都是4组数据 [5 10 15 20];

以上就是我通过分析得到数据的8个特点,其实x轴数据和y轴数据,实现的就是格点矩阵,也就是meshgrid函数的功能,我们可以不用x轴与y轴的数据,只用z轴的数据,然后用meshgrid矩阵生成x,y轴的数据,这一点要深刻认识格点矩阵的本质,在本文的最后将讨论格点矩阵的结构。

Step 2.代码讲解

clc

clf

clear all;

load('data.mat'); %载入数据,在文档中会一并给出,就是z轴的数据

x_0=500:500:3000; %生成x轴的格点分段一[500 1000 1500 2000 2500 3000]

y_0=5:5:30; %生成y轴的格点分段一[5 10 15 20 25 30]

[xx_0,yy_0]=meshgrid(x_0,y_0); %根据x,y轴格点分段一生成格点矩阵一

Z_0=reshape(Z(1:36),[6,6]); %使得z轴数据的1到36行,组成6*6的矩阵形式,以便搭配格点矩阵一使用

surf(xx_0,yy_0,Z_0); %做出曲面图一

hold on %保持图形

x_1=3000:250:3500; %生成x轴的格点分段二[3000 3250 3500]

y_1=5:5:20; %生成y轴的格点分段二[5 10 15 20]

[xx_1,yy_1]=meshgrid(x_1,y_1); %根据x,y轴格点分段二生成格点矩阵二

Z_1_1=[Z(31:34);Z(37:end)]; %抽取出与格点矩阵搭配的Z轴数据

Z_1=reshape(Z_1_1,[4,3]); %将抽取的Z轴数据组成4*3的形式,搭配格点矩阵二

surf(xx_1,yy_1,Z_1); %做出曲面图二

说明:

1.为什么要分图形一与二

回答: 见数据分析 7,8两点;

2.为什么第二个曲面的x 要从 3000开始,而不是 3250

回答:如果从3250开始,图形将发生断裂,从3000开始,可以实现曲面的缝合;

Step 3.绘制结果

用文中所示的代码出的图如图2所示,如果不使用本文的图像缝合技术,将出现图3的断面。

Step 4.meshgrid 函数数据

运行代码

x_0=500:500:3000; %生成x轴的格点分段一[500 1000 1500 2000 2500 3000]

y_0=5:5:30; %生成y轴的格点分段一[5 10 15 20 25 30]

[xx_0,yy_0]=meshgrid(x_0,y_0); %根据x,y轴格点分段一生成格点矩阵一

我们来看看所生成的格点矩阵式什么款式的。

可以看到:

1.xx_0与yy_0都是6*6的矩阵;

2. xx_0的数据每行都是一样的,由[500 1000 1500 2000 2500 3000] 构成;

3. yy_0的数据每列都是一样的,由[5 10 15 20 25 30]构成;

运行

Z_0=reshape(Z(1:36),[6,6]); %使得z轴数据的1到36行,组成6*6的矩阵形式,以便搭配格点矩阵一使用

我们看看与之搭配的Z_0是什么样子的

可以看到,Z_0 也应该是一个6*6的矩阵,每一列,对应每一个y轴周期

本案例相关代码及数据见 http://www.jishulink.com/content/doc/4ff96c69-23fc-4bff-9a0d-9de3a97d763c

免责声明:本文作者:“技术邻-”,版权归作者所有,观点仅代表作者本人。本站仅提供信息存储分享服务,不拥有所有权。信息贵在分享,如有侵权请联系ynstorm@foxmail.com,我们将在24小时内对侵权内容进行删除。
(80)
闹大了!美乒要求国际乒联给说法,球迷质疑
上一篇 2024年02月21日
nokia软件下载(现在诺基塞班软件在哪
下一篇 2024年02月21日

相关推荐

  • qq空间登录页面(qq空间怎么不显示在主页上)

    我们首先可以登录QQ账号,然后进入QQ空间。如果QQ空间没有开通或者找不到QQ空间的图标,大家可以看下这篇文章“为什么我的QQ面板上没有QQ空间图标显示?”。...

    2023年11月16日
  • 蛋仔派对官方服下载(怎么下载今日头条的蛋仔派对)

    如果要下载今日头条的蛋仔派对,首先打开今日头条APP,再点击下方的去赚钱,接着在游戏中心内搜索蛋仔派对,然后点击后方的下载图标,等待加载完成就可以了。...

    2023年11月22日
  • 中国电信广东公司宽带客户自助测速平台(广州电信宽带100兆怎么测速平台显示是签约12兆)

    1.登录电信宽带路由器管理界面:在浏览器中输入默认网关(一般是192.168.1.1或192.168.0.1),按回车键进入路由器的管理页面。使用您的用户名和密码登录(默认用户名和密码一般是admin/admin),一般可以在路由器背面的标签...

    2023年11月27日
  • 侠盗列车5(GTA4人物说话没有字幕)

    1、首先我们需要在游戏中找到一辆敞篷车,可以在马路边等或者开其他车去马路上寻找,有时候路边也会停着。...

    2023年12月01日
  • rm转换精灵 v5.0 绿色特别版(手机无密码解锁方法)

    5、输入ls查看datasystem中的文件,如果设置了密码会有gesture.key或者password.key...

    2023年12月01日
  • 流感高发期到来,备好一种叶子,疾病远离你!

    流感高发季节来临,预防措施必不可少,特别是需准备带有特殊疗效的紫苏。近期,各大医院病房紧张异常,尤其儿童医院人潮涌动。气温骤降、天气湿冷导致人群抵抗力下降。浙江地区已发布数据显示,流行性感冒患者高达68091例。面对这严峻形势,中西医学者纷纷...

    2023年12月16日
  • cf跳高箱子(cf怎么用esc一键上箱子)

    CF中静步跳箱子需要先静步按住跑步键,接着跑到箱子前,跳起后按住移动键,调整方向,落在箱子上再跳起到达下一个目标。...

    2023年12月18日
  • team speak(逆水寒为什么发不出去语音)

    1.逆水寒发不出去语音。2.这可能是由于以下首先,逆水寒可能存在网络连接问题,导致语音无法传输。其次,逆水寒可能没有开启麦克风权限,导致无法录制和发送语音。另外,逆水寒所使用的设备可能存在硬件或软件故障,导致无法正常发出语音。3.如果遇到逆水...

    2024年01月22日
  • 兰陵王妃txt下载(兰陵王妃取景地)

    代表作品:裸婚时代、小儿难养、因为爱情有奇迹、因为爱情有多美、兰陵王妃、爱无痕、九州·海上牧云记...

    2024年02月10日
  • 手机摄影:如何拍出又大又清晰的月亮?

    用手机拍月亮,说实话是有点难为手机了。不过拍着玩还是可以的,但是就别追求细节了。尽管如此,也是需要一些配件和技巧才行。设备1、超长焦镜头一个外接超长焦镜头是必须的,我现在用的是一个爱派赛16倍的长焦(下图左侧)。这个镜头的优点是性价比很高,才...

    2024年02月19日
返回顶部